home *** CD-ROM | disk | FTP | other *** search
- 10 REM ********************************
- 20 REM * *
- 30 REM * BEEPER DIALER VER 1.5 *
- 40 REM * *
- 50 REM * MATTHEW HOFFMAN *
- 55 REM * 70611,3110 *
- 57 REM * *
- 60 REM * 5/16/88 *
- 70 REM * *
- 80 REM ********************************
- 90 REM
- 100 REM
- 110 REM INITIALIZE
- 120 REM
- 130 POKE 53280,0:POKE53281,0
- 140 OH=56577:HI=32:LO=255-32:CC=1:SID=54272:MM=49152
- 150 CD$=""
- 160 GOSUB 1580
- 170 GOSUB 1960
- 180 GOSUB 1170:GOSUB 1240
- 190 POKE49200,4:POKE49201,0
- 200 REM
- 210 REM GET DATA
- 220 REM
- 230 REM
- 240 PRINT CHR$(147)TAB(13)"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][146]"
- 250 PRINT TAB(13)" BEEPER DIALER [146]"
- 260 PRINTTAB(7)"ENTER NEW # [150] <Q> TO QUIT"
- 270 PRINTTAB(10)"[159]<RETURN> IF CORRECT"
- 280 PRINT CHR$(19)TAB(25)"[156]"BP$
- 290 INPUT "[145]BEEPER PHONE # ";N$
- 300 IF LEFT$(N$,1)="Q"THEN SYS65409:END: REM KERNAL CINT ROUTINE
- 310 PRINT CHR$(19)TAB(25)"[156]"RT$
- 320 INPUT "[145]RETURN PHONE # ";NR$
- 330 IF LEFT$(NR$,1)="Q"THEN SYS65409:END: REM KERNAL CINT ROUTINE
- 340 IFN$=BP$ANDNR$=RT$THEN360
- 350 BP$=N$:RT$=NR$:AF=1
- 360 IFAF=1THENGOSUB2100
- 370 GOSUB 1420
- 380 REM
- 390 REM MAIN LOOP
- 400 REM
- 410 PRINT""LEFT$(TI$,2)":"MID$(TI$,3,2)":"RIGHT$(TI$,2)
- 420 IF(PEEK(OH)AND8)=0 THEN 450:REM WAIT FOR RING
- 430 IF PEEK(197)=22 THEN IF PEEK(653)=4 THEN450
- 440 GOTO 410
- 450 IF CF=0 THEN CF=1:GOSUB 1420:PRINT"[145][145]";:RC=CC+2
- 460 GOSUB 1490
- 470 BG=INT(TI/60)
- 480 PRINT""LEFT$(TI$,2)":"MID$(TI$,3,2)":"RIGHT$(TI$,2)
- 490 IF FT=0THEN FT=1:ED=BG+AD:REM AD=TIME DELAY(# OF SECONDS)
- 500 IF BG=ED THEN 520
- 510 GOTO 470
- 520 CC=CC+1:FT=0:REM CALL COUNT
- 530 DN$=BP$
- 540 POKE SID+24,7
- 550 POKEOH+2,PEEK(OH+2) OR HI:POKEOH,PEEK(OH)AND LO:REM MODEM OFF HOOK
- 560 FOR TD=0TO1000:NEXT:REM WAIT FOR DIAL TONE
- 570 FOR RP=0TO1
- 580 IF DF=0THEN 650
- 590 DN$=RT$+"#"
- 600 BG=INT(TI/60)
- 610 PRINT""LEFT$(TI$,2)":"MID$(TI$,3,2)":"RIGHT$(TI$,2)
- 620 IFFF=0THENED=BG+BA:FF=1:REM BA=TIME DELAYFOR BEEPER PHONE TO ANSWER
- 630 IFBG=EDTHEN650
- 640 GOTO600
- 650 L=LEN(DN$)
- 660 FOR I=1TOL
- 670 D$=MID$(DN$,I,1)
- 680 IF ASC(D$)=35THEN 700
- 690 IFASC(D$)<48 OR ASC(D$)>57 THEN 710
- 700 GOSUB 800:GOSUB 1040:GOSUB 960
- 710 NEXT I
- 720 DF=1
- 730 NEXT RP
- 740 DF=0:FF=0
- 750 POKESID+24,0
- 760 FOR TD=0TO500:NEXT
- 770 POKE OH,PEEK(OH) OR HI:REM HANG UP
- 780 GOTO 420
- 790 REM
- 800 REM LOOK UP TABLE
- 810 REM
- 820 IF D$="1"THEN R=1:C=1
- 830 IF D$="2"THEN R=1:C=2
- 840 IF D$="3"THEN R=1:C=3
- 850 IF D$="4"THEN R=2:C=1
- 860 IF D$="5"THEN R=2:C=2
- 870 IF D$="6"THEN R=2:C=3
- 880 IF D$="7"THEN R=3:C=1
- 890 IF D$="8"THEN R=3:C=2
- 900 IF D$="9"THEN R=3:C=3
- 910 IF D$="*"THEN R=4:C=1
- 920 IF D$="0"THEN R=4:C=2
- 930 IF D$="#"THEN R=4:C=3
- 940 RETURN
- 950 REM
- 960 REM TURN 'EM ON
- 970 REM
- 980 POKE SID+4,17:POKESID+11,17:REM ENABLE TONES
- 990 FOR TD=0TO50:NEXT:REM ON-TIME DELAY
- 1000 POKESID+4,16:POKE SID+11,16:REM TONES OFF
- 1010 REM OFF-TIME DELAY DON'T NEED(?)
- 1020 RETURN
- 1030 REM
- 1040 REM TONE POKES
- 1050 REM
- 1060 ON C GOSUB 1090,1100,1110
- 1070 ON R GOSUB 1120,1130,1140,1150
- 1080 RETURN
- 1090 POKE SID,117:POKE SID+1,77:RETURN: REM COLUMN 1
- 1100 POKE SID,152:POKE SID+1,85:RETURN: REM COLUMN 2
- 1110 POKE SID,161:POKE SID+1,94:RETURN: REM COLUMN 3
- 1120 POKE SID+7,168:POKE SID+8,44:RETURN :REM ROW 1
- 1130 POKE SID+7,85:POKE SID+8,49:RETURN :REM ROW 2
- 1140 POKE SID+7,150:POKE SID+8,54:RETURN :REM ROW 3
- 1150 POKE SID+7,74:POKE SID+8,60:RETURN :REM ROW 4
- 1160 REM
- 1170 REM INITIALIZE SID
- 1180 REM
- 1190 POKE SID+4,16
- 1200 POKE SID+11,16:POKE SID+5,0:POKE SID+12,0
- 1210 POKE SID+6,15*16:POKE SID+13,15*16:POKESID+23,0
- 1220 RETURN
- 1230 REM
- 1240 REM SET TIME
- 1250 REM
- 1260 PRINT"[147][154]CURRENT TIME: ";
- 1270 PRINT LEFT$(TI$,2)":"MID$(TI$,3,2)":"RIGHT$(TI$,2)
- 1280 PRINT"NO COLONS---> HHMMSS"
- 1290 PRINT"<RETURN> IF CORRECT"
- 1300 INPUT"[145][145][145][145][145]ENTER TIME :";NT$
- 1310 IF NT$=""THEN PRINT"[147]":GOTO1330
- 1320 TI$=NT$
- 1330 PRINT"[150]ANSWER TIME DELAY: ";AD
- 1340 PRINT"<RETURN> IF CORRECT"
- 1350 INPUT"[145][145][145][145][145]";ND
- 1360 PRINT"[150]BEEPER ANSWER DELAY: ";BA
- 1370 PRINT"<RETURN> IF CORRECT"
- 1380 INPUT"[145][145][145][145][145]";NB
- 1390 IFND=AD AND NB=BA THEN RETURN
- 1400 AD=ND:BA=NB:AF=1
- 1410 RETURN
- 1420 REM SET UP SCREEN
- 1430 REM
- 1440 PRINT CHR$(147)TAB(13)"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][146]"
- 1450 PRINT TAB(13)" BEEPER DIALER [146]"
- 1460 IF CF=0 THEN GOSUB 1820
- 1470 RETURN
- 1480 REM
- 1490 REM PRINT CALL LOG
- 1500 REM
- 1510 IF CC>20THENPRINT"";TAB(20):RC=CC-17
- 1520 PRINTLEFT$(CD$,RC);
- 1530 FT$=LEFT$(TI$,2)+":"+MID$(TI$,3,2)
- 1540 PRINT"[156]CALL"CC"--> "FT$
- 1550 RC=RC+1
- 1560 RETURN
- 1570 REM
- 1580 REM TITLE SCREEN
- 1590 REM
- 1600 PRINT"[147][154]"TAB(15)"[213][192][192][192][192][192][192][185][185][146][201]"
- 1610 PRINT TAB(15)"[221] [221]"
- 1620 PRINT TAB(15)"[221][166][166][166][166][166] [221]"
- 1630 PRINT TAB(15)"[221][166][166][166][166][166] [221]"
- 1640 PRINT TAB(15)"[221][166][166][166][166][166] [221]"
- 1650 PRINT TAB(15)"[221][166][166][166][166][166] [221]"
- 1660 PRINT TAB(15)"[221][166] [221]"
- 1670 PRINT TAB(15)"[221][166][156] BEEPER[154][221]"
- 1680 PRINT TAB(15)"[221] [156] DIALER[154][221]"
- 1690 PRINT TAB(15)"[202][192][192][192][192][192][192][192][192][203]"
- 1700 PRINTTAB(11)"[153] MATTHEW HOFFMAN "
- 1710 PRINTTAB(17)"[158]* * *
- 1720 [153][163]11)" APRIL 1988 "
- 1730 [153]"OPEN----------------------------------------";
- 1740 [153]"DEFTO PRINTTO"
- 1750 [153]"DEFTHENIWAITFN - INSTRUCTIONSPRINTTHENBWAITFN - BEGIN"
- 1760 [161]S$:[139]S$[178]""[167] 1760
- 1770 [139] S$[178]"B"[167] [137] 1800
- 1780 [139] S$[178]"I"[167] [141] 2350:[137]1600
- 1790 [137]1760
- 1800 [142]
- 1810 [143]
- 1820 [143] FIRST SCREEN - NO CALLS
- 1830 [143]
- 1840 [153]"CLR"
- 1850 [153][163]11)" (null)TANTANTANTANLENLENTANLENLENTANTANTANTANRIGHT$
- 1860 PRINTTAB(11)" [213][179] [213][195][195][195][195][195][195][195][201] [194]
- 1870 [153][163]11)"(null)(null)MID$STR$STR$(null) MID$STR$STR$(null)
- 1880 PRINTTAB(11)"[221] [206] 1 2 3 [205]
- 1890 [153][163]11)"MID$RIGHT$ SGN 4 5 6 +
- 1900 PRINTTAB(11)" [202][201] [180] 7 8 9 [170]
- 1910 [153][163]11)" MID$LENSGN * 0 # +
- 1920 PRINTTAB(11)" [205][175][175][175][175][175][175][175][175][175][206]
- 1930 [153][163]5)"OPEN YOU HAVE HAD NO CALLS..."
- 1940 [142]
- 1950 [143]
- 1960 [143] READ DATA
- 1970 [143]
- 1980 [153]"ONON "
- 1990 [153]" "
- 2000 [153]"ON PLEASE WAIT, LOADING DATA..."
- 2010 [159] 5,8,5,"TEL.DATA,S,R"
- 2020 [159] 15,8,15
- 2030 [141] 2240
- 2040 [139] [197](A$)[177]0[167] [142]
- 2050 [132]5,BP$,RT$,AD,BA
- 2060 [160] 5
- 2070 [160]15
- 2080 [142]
- 2090 [143]
- 2100 [143] WRITE DATA
- 2110 [143]
- 2120 [129]E[178]0[164]5:[153]" ":[130]
- 2130 [153][163]7)"DEFPLEASE WAIT, SAVING DATA..."
- 2140 Z$[178]","
- 2150 [159] 5,8,5,"@0:TEL.DATA,S,W"
- 2160 [159] 15,8,15
- 2170 [141] 2240
- 2180 [139] [197](A$)[177]0[167] [142]
- 2190 [152]5,BP$;Z$;RT$;Z$;AD;Z$;BA
- 2200 [160]5
- 2210 [160]15
- 2220 [142]
- 2230 [143]
- 2240 [143] I/O ERROR CHECK
- 2250 [143]
- 2260 [132]15,A$,B$,C$,D$
- 2270 [139] [197](A$)[178]0 [167] [142]
- 2280 [153]A$;B$;" TRACK:"C$" SECTOR:"D$
- 2290 [160] 5
- 2300 [160]15
- 2310 [153]" ANY KEY TO CONTINUE . . ."
- 2320 [146]197,64,64
- 2330 [142]
- 2340 [143]
- 2350 [143] INSTRUCTIONS
- 2360 [143]
- 2370 [143]
- 2380 [153]"LOAD"[199](14);
- 2390 [153][163]8)"CONTPEEKEEPER STR$IALER RIGHT$NSTRUCTIONSPRINT":[153]
- 2400 [153]" (null)HIS PROGRAM WAS WRITTEN TO BE USEDWITH A LENOMMODORE 1660 MODEM";
- 2410 [153]", A DIGITAL BEEPER AND AN ANSWERING MACHINE.";
- 2420 [153]" RIGHT$T WILLLOG YOUR CALLS, ALLOW YOUR ANSWERING MACHINE TO RECORD";
- 2430 [153]" AND THEN BEEP YOUR BEEPER.":[153]
- 2440 [153]" (null)THER USES COULD BE AS SIMPLE AS A CALL LOG OR AS COMPLICATED";
- 2450 [153]" AS A BURGLAR ALARM WHICH SOULD BEEP YOU IN THE EVENT OF A";
- 2460 [153]" BREAK-IN. ":[153]
- 2470 [153]" ATNS IS,THIS IS WHAT IT DOES. (null)HEN ACALL COMES IN, THE COMPUTER ";
- 2480 [153]"LOGS THE TIME AND CALL NUMBER. RIGHT$T THEN WAITS AN ADJUSTABLE ";
- 2490 [153]"PERIOD OF TIME TO ALLOW AN ANSWERING MACHINE TO RECORD A MESSAGE.";
- 2500 [153]" RIGHT$T THEN PROCEEDS TO DIAL YOUR BEEPER NUMBER AND ENTERS YOUR ";
- 2510 [153] "RETURN NUMBER SO IT WILL APPEAR IN YOUR BEEPER. "
- 2520 [141] 2780
- 2530 [153]" (null)HEN THE PROGRAM IS FIRST RUN IT WILL TRY TO LOAD A FILE ";
- 2540 [153]"CALLED 'TEL.DATA', WHICH STORES THE PHONE NUMBERS AND TIME DELAYS ";
- 2550 [153]"NEEDED. (null)N THE FIRST RUN ITWILL NOT BE ABLE TO FIND THIS FILE, ";
- 2560 [153]"SO A'FILE NOT FOUND' ERROR WILL OCCUR. MID$UST HIT A KEY TO ";
- 2570 [153]"CONTINUE AND ENTER THEDATA AS PROMPTED. "
- 2580 [153]:[153]" RIGHT$N ORDER TO FUNCTION CORRECTLY A FEW THINGS NEED TO BE ";
- 2590 [153]"DETERMINED. ASCIRST, TIME YOUR ANSWERING MACHINE TO SEE HOW LO";
- 2600 [153]"NG IT TAKES TO GO THROUGH IT'SCYCLE. (null)OU MUST TIME FROM WHEN THE ";
- 2610 [153]"PHONEFIRST RINGS UNTIL IT IS FINISHED RECORD-ING AND HANGS UP. ";
- 2620 [153]"(null)INE TAKES 2 MINUTES.RIGHT$F IT IS A (null)(null)(null) OPERATED MESSAGE THEN JUST ";
- 2630 [153]"ALLOW FOR A NORMAL MESSAGE. (null)HIS VALUE, EXPRESSED IN SECONDS, ";
- 2640 [153]"SHOULD BE ENTERED AS THE ANSWER TIME DELAY. ":[153]
- 2650 [141] 2780
- 2660 [153]" (null)EXT CALL YOUR BEEPER NUMBER AND TIME HOW LONG IT TAKES TO ";
- 2670 [153]"ANSWER AND GIVE YOU THE TONES INDICATING WHEN TO ENTER THE ";
- 2680 [153]" RETURN NUMBER. ";
- 2690 [153]"(null)HIS SHOULD BE ENTERED AS THE BEEPER ANSWER DELAY, IN SECONDS."
- 2700 [153]:[153]" (null)HAT'S ALL THERE IS TO IT! RIGHT$T MAY TAKE A LITTLE ";
- 2710 [153]"FOOLING AROUND TO GET THE TIMING RIGHT, BUT IT SHOULDN'T BE TOO ";
- 2720 [153]" HARD. (null)O TEST JUST PRESS LENONTROL-(null) OR HAVE SOMEONE CALL YOU. "
- 2730 [153]:[153]:[153] [163]20);"LEFT$AVE ASCUN,"
- 2740 [153]:[153] [163]22);"(null)ATT"
- 2750 [153]:[153]:[153]:[141] 2780
- 2760 [153][199](142):[142]
- 2770 [128]
- 2780 [153]"DEF ANY KEY TO CONTINUE...PRINT";
- 2790 [146] 197,64,64
- 2800 [153]"LOAD":[142]
- 2810 [142]
-